<!--

    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:ez="http://java.sun.com/jsf/composite/composite">
<h:head>
<title>actionSource1</title>
</h:head>

<h:body>

  <ui:debug hotkey="p" rendered="true"/>

<h:form id="form">
   
    <p>
        Maps ActionListener to commandButton within composite/actionSource1.xhtml using
        only the name attribute.
    </p>
    <ez:actionSource1 id="actionsource1">
        <f:actionListener for="command" binding="#{compositeBean.actionListener}"/>
    </ez:actionSource1>

    <p>
        Maps ActionListener to commandButton within composite/actionSource2.xhtml using
        name and target attributes.
    </p>
    <ez:actionSource2 id="actionsource2">
        <f:actionListener for="command" binding="#{compositeBean.actionListener}"/>
    </ez:actionSource2>
    
    <p>
        Maps ActionListener to a commandButton within a composite/actionSource1.xhtml
        which is nested within composite/actionSource3.xhtml. Using the same ID
        in the nesting.
    </p>
    <ez:actionSource3 id="actionsource3">
        <f:actionListener for="command" binding="#{compositeBean.actionListener}"/>
    </ez:actionSource3>

    <p>
        Ensure actionListeners are properly re-targeted when the
        target of the actionListener is nested within another naming
        container.  Note that the value of the 'for' attribute doesn't
        mimic the NamingContainer hierarchy, that's handled by the
        'targets' attribute within the composite:implementation section
        of actionSource4.xhtml.
    </p>
    <ez:actionSource4 id="actionsource4">
        <f:actionListener for="command" binding="#{compositeBean.actionListener}"/>
    </ez:actionSource4>


    <p />
    <h:commandButton id="clear" value="Clear Messages"/>

</h:form>
 <h:messages id="messages"/>


</h:body>

</html>
